<?php
// Это главный конфигурационный файл сайта
// Здесь задаются настройки подключения к БД
// Подключение модулей и их настройка и т.д.
return array(
	'language'=>'ru',
	'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
	'name'=>'ARIJ',

	// Предварительная загрузка модуля логгирования
	'preload'=>array('log'),

	// Автоподгрузка указанных моделей и компонентов
	'import'=>array(
		'application.models.*',
		'application.components.*',
		'application.components.widgets.*',
        'application.modules.user.models.*',
        'application.modules.user.components.*',
		'ext.EAdvancedArBehavior',
	),
	
	// Подключение модулей
	'modules'=>array(
		'user',
		'gii'=>array(
			'class'=>'system.gii.GiiModule',
			'password'=>'1234',
			'generatorPaths'=>array(
                'application.gii', 
            ),
		),
	),

	// Настройка компонентов сайта
	'components'=>array(
		'clientScript' => array(
			// Описание пакетов ассетов (другими словами группировка скриптов и стилей под одним названием)
			// плюс указание зависимостей пакетов
			// Например, пакет "site" требует наличия пакета "jquery"
			// Эта зависимость указана в depends
			'packages' => array(
				// css и js для всего сайта
				'site' => array(
					'baseUrl' => '/',
					'css' => array('css/styles.css'),
					'js' => array('js/js.js'),
					'depends' => array('jquery', 'bootstrap', 'jquery.ui.datepicker'),
				),
				// фреймворк twitter-bootstrap
				'bootstrap' => array(
					'baseUrl' => '/bootstrap/',
					'js' => array(YII_DEBUG ? 'js/bootstrap.js' : 'js/bootstrap.min.js'),
					'css' => array('css/superhero/bootstrap.css'),
					'depends' => array('jquery'),
				),
				'jquery' => array(
					'baseUrl' => '/js',
					'js' => array('jquery-1.10.2.js')
				),
				// UI библиотека от jquery
				'jquery.ui' => array(
					'baseUrl' => '/',
					'js' => array(
						'js/ui/jquery-ui.custom.js',
					),
					'css' => array(
						'css/ui-base/jquery.ui.all.css'
					),
					'depends' => array('jquery'),
				),
				// jquery-календарь
				'jquery.ui.datepicker' => array(
					'baseUrl' => '/css',
					'css' => array('hot-sneaks/jquery-ui.css', 'hot-sneaks/jquery.ui.theme.css'),
					'depends' => array('jquery.ui'),
				),
				// jquery-autoresize для textarea
				'jquery.autoresize' => array(
					'baseUrl' => '/js',
					'js' => array('jquery.autosize.min.js'),
					'depends' => array('jquery'),
				),
				// фреймворк knockout.js
				'knockout' => array(
					'baseUrl' => '/js',
					'js' => array('knockout-3.1.0.js'),
					'depends' => array('jquery'),
				),
				// css и js для раздела "План"
				'plan' => array(
					'baseUrl' => '/',
					'js' => array('js/viewModels/plan.js'),
					'css' => array('css/plan.css'),
					'depends' => array('knockout', 'knockout-sortable', 'models', 'utils'),
				),
				// Плагин для knockout.js, надстройка над jquery.ui.sortable
				'knockout-sortable' => array(
					'baseUrl' => '/js/',
					'js' => array('knockout-sortable.js')
				),
				// JS-модели используемых объектов
				'models' => array(
					'baseUrl' => '/js/models/',
					'js' => array('model.js', 'issue.js', 'project.js', 'chunk.js', 'issueStatus.js', 'issueType.js', 'user.js'),
					'depends' => array('knockout', 'jquery', 'utils')
				),
				// Вспомогательные функции
				'utils' => array(
					'baseUrl' => '/js/',
					'js' => array('utils.js'),
					'depends' => array('knockout', 'jquery', 'jquery.autoresize')
				)
			),
		),
		// Настройка компонента user (модуль user и компонент user - это не одно и то же)
		'user'=>array(
			'loginUrl'=> '/user/action/login', // сюда будет редиректить, если для доступа к странице понадобиться авторизация
			'allowAutoLogin'=>true, // включаем поддержку фичи "Запомнить меня"
		),
		'urlManager'=>array(
			'urlFormat'=>'path', // Указываем, что мы хотим "красивые" URL, т.е. формата /site/index/view/1, а не index.php?q=site/index&view=1
			'showScriptName' => false, // Указываем не показывать название скрипта, т.е. "index.php" в адресной строке не будет
		),
		'db'=>require('db.php'), // Настройки БД в отдельном файле
		'errorHandler'=>array(
			'errorAction'=>'/site/error', // Указываем экшен, который будет запускаться в случае ошибки
		),
		// Настройка логгирования
		'log'=>array(
			'class'=>'CLogRouter',
			'routes'=>array(
				array(
					'class'=>'CFileLogRoute',
					'levels'=>'error, warning',
				),
			),
		),
		// Настройка разделения пользователей по ролям
		'authManager'=>array(
            'class'=>'CDbAuthManager',
            'connectionID'=>'db',
            'itemTable'=>'authitem',
            'itemChildTable'=>'authitemchild',
            'assignmentTable'=>'authassignment'
        ),
	),

	// application-level parameters that can be accessed
	// using Yii::app()->params['paramName']
	'params'=>array(
		// this is used in contact page
		'adminEmail'=>'webmaster@example.com',
	),
);